package com.hahaliu.hahaliu.service.video;

import com.hahaliu.hahaliu.pojo.dto.VideoUploadDTO;
import org.springframework.web.multipart.MultipartFile;

public interface VideoUploadService {

	/**
	 * 查询要上传的下一个切片的序号
	 * @param hash 视频的hash值
	 * @return
	 */
	int askCurrentChunk(String hash);


	/**
	 * 上传单个视频分片，当前上传到阿里云对象存储
	 * @param chunk 分片文件
	 * @param hash  视频的hash值
	 * @param index 当前分片的序号
	 */
	void uploadChunk(MultipartFile chunk, String hash, Integer index);

	/**
	 * 取消上传并且删除该视频的分片文件
	 * @param hash 视频的hash值
	 */
	void cancelUpload(String hash);

	/**
	 * 投稿视频
	 * @param videoUploadDTO
	 */
	void addVideo(VideoUploadDTO videoUploadDTO);
}
